package redis

import "time"

// cache constant
const (
	// CacheCaptchaIpTimeout 限制至少 1s 才能刷一次验证码
	CacheCaptchaIpTimeout = 1 * time.Second

	// CacheNewUsersPrefixTimeout 每个月新用户的注册数，缓存三个月的数据量
	CacheNewUsersPrefixTimeout = 3 * 30 * 24 * time.Hour

	// CacheMaxOnlinePrefixTimeout 每日最大在线访客数，缓存一个月的数据量
	CacheMaxOnlinePrefixTimeout = 30 * 24 * time.Hour

	// CacheDayClickPrefixTimeout 每日点击量，缓存一个月的数据量
	CacheDayClickPrefixTimeout = 30 * 24 * time.Hour

	// CacheDayVisitPrefixTimeout 每日访问数，缓存一个月的数据量
	CacheDayVisitPrefixTimeout = 30 * 24 * time.Hour
)

// cache prefix
const (
	// CacheCaptchaIpPrefix 缓存 ip 地址的前缀
	CacheCaptchaIpPrefix = "cache:captcha:ip:"
	// CacheATokenPrefix 缓存 access_token 的 Key
	CacheATokenPrefix = "cache:access:token"
	// CacheQrcodeTicketPrefix 缓存 ticket-openid 的前缀
	CacheQrcodeTicketPrefix = "cache:qrcode:ticket:"

	// CacheClickPrefix 缓存页面总点击量（pv）的key
	CacheClickPrefix = "cache:click:total"
	// CacheDayClickPrefix 缓存每日点击量的前缀
	CacheDayClickPrefix = "cache:click:day:" // cache:click:day:20241031 格式存储 kv

	// CacheVisitPrefix 缓存页面总独立访客数（uv）的key
	CacheVisitPrefix = "cache:visit:total:hll" // 同一用户每日登录分开计算
	// CacheDayVisitPrefix 缓存每日访问数的前缀
	CacheDayVisitPrefix = "cache:visit:day:hll:" // cache:visit:hll:20241031 格式存储 hll

	// CacheNewUsersPrefix 缓存每月新用户数量的前缀
	CacheNewUsersPrefix = "cache:new:user:" // cache:new:user:10 格式存储 kv

	// CacheMaxOnlinePrefix 缓存每日最大在线用户数量的前缀
	CacheMaxOnlinePrefix = "cache:max:online:" // cache:max:online:20241031 格式存储 kv
)
